.card-wrapper {
  position: relative;
  background: white;
  overflow: hidden;
  isolation: isolate;

  &::before,
  &::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 4px;
    pointer-events: none;
  }

  &::before {
    z-index: 1;
    border: 1px solid rgba(24, 157, 126, 0.1);
    animation: borderPulse 3s infinite linear;
  }

  &::after {
    z-index: 2;
    background: linear-gradient(90deg,
      transparent,
      rgba(24, 157, 126, 0.1),
      transparent
    );
    animation: borderGlow 2s infinite linear;
    opacity: 0.3;
  }

  &:hover {
    &::before {
      border-color: rgba(24, 157, 126, 0.3);
    }

    &::after {
      opacity: 0.5;
    }
  }
}

@keyframes borderPulse {
  0%, 100% {
    border-color: rgba(24, 157, 126, 0.1);
  }
  50% {
    border-color: rgba(24, 157, 126, 0.3);
  }
}

@keyframes borderGlow {
  0% {
    transform: translateX(-100%) translateZ(0);
  }
  100% {
    transform: translateX(100%) translateZ(0);
  }
} 